{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from DistantSpeech.beamformer.utils import load_audio\n",
    "from scipy.signal import convolve as conv\n",
    "from matplotlib import pyplot as plt\n",
    "from tqdm import tqdm\n",
    "import numpy as np\n",
    "from DistantSpeech.adaptivefilter import BaseFilter, FastFreqLms, awgn\n",
    "from DistantSpeech.adaptivefilter.RLS import Rls\n",
    "from DistantSpeech.beamformer.utils import load_audio as audioread\n",
    "from DistantSpeech.beamformer.utils import save_audio as audiowrite"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(336567,)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# load source single and rir\n",
    "src = load_audio('/home/wangwei/work/DistantSpeech/samples/audio_samples/cleanspeech_aishell3.wav')\n",
    "src = np.random.rand(len(src))-0.5# * np.sqrt(npower)\n",
    "print(src.shape)\n",
    "rir = load_audio('/home/wangwei/work/DistantSpeech/DistantSpeech/adaptivefilter/rir.wav')\n",
    "rir = rir[200:]\n",
    "\n",
    "filter_len = 256\n",
    "\n",
    "# # the unknown filter (unit norm)\n",
    "# rir = np.random.randn(filter_len)\n",
    "# rir /= np.linalg.norm(rir)\n",
    "\n",
    "rir = rir[:filter_len, np.newaxis]\n",
    "plt.figure()\n",
    "plt.plot(rir)\n",
    "plt.title('impulse response')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 336311/336311 [10:13<00:00, 548.12it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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kooBlp9Ia5ELKTiCRURERETkTu3atXH+/PlAN6PAGGD5izYHi+84EREREZFLUkr9osFXKp7u+4lkFUEiIiIiIidxcXFo1KgR7r//fjRr1gwnT54EAFy+fBk33ngjWrZsiWbNmuH3338PcEs9ExzoBlw19OtgBbgdRERERERuJLz7LrL27ffpNsMaX4PKr7yS5zqHDh3Cr7/+ik6dOqF27doAgIULF6Jq1aqYN28eACA5Odmn7SoqPN33F+sI1pU94ElERERE5Hu1atVCp06d7JY1b94cS5YswahRo7B69WrExsYGqHXe4QiWn0jOwSIiIiKiYi6/kaaiEhkZ6bSsYcOG2LZtG+bPn49XX30VPXv2xNixYwPQOu8wwPITc9JFAJyDRURERETkidOnT6Ns2bIYMmQISpcujR9++CHQTfIIAyw/SVu+HAAQedkc4JYQERERERV/u3btwosvvgiTyYSQkBB88803gW6SRxhg+UlYw4bIOngQSaWDAt0UIiIiIqJio3bt2ti9e7d+Py4uDgDQp08f9OnTJ0CtKjjOCPKT0Fq1ADBFkIiIiIioJGOARURERERE5CMMsPxMykC3gIiIiIiIigoDLD9jiiARERERFTfyKhkF8MffyQDLb6TDbyIiIiKiwAsPD8eFCxdKfJAlpcSFCxcQHh5epK/DKoJ+VrI/tkRERER0palevTri4+ORmJgY6KYUufDwcFSvXr1IX4MBlp8xwCIiIiKi4iQkJAR16tQJdDNKDKYI+lsJH3olIiIiIrqaMcDyk5Ke00pERERERAyw/M4iGGgREREREZVUDLD8hUUEiYiIiIhKPAZYfpacnYxcS26gm0FEREREREWAAVYArDu9LtBNICIiIiKiIsAAy98EkJGbEehWEBERERFREWCA5W8SkJyIRURERERUIjHA8hdjmXbGV0REREREJRIDLD8T4AgWEREREVFJxQArAHjRYSIiIiKikokBlp/xOsNERERERCUXAyx/MYxaMUWQiIiIiKhkYoAVAAywiIiIiIhKJgZYAcA5WEREREREJRMDLD/jHCwiIiIiopKLAZa/cA4WEREREVGJxwDLTzJ27wZgvQ4WUwSJiIiIiEokBlh+Yj5/Xr/NESwiIiIiopKJAZa/SY5gERERERGVVAywiIiIiIiIfIQBlp+JQDeAiIiIiIiKDAMsPxOSc7CI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",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "\n",
    "# src = awgn(src, 30)\n",
    "# create a known driving signal\n",
    "# src = np.random.randn(len(src))\n",
    "SNR = 20\n",
    "data_clean = conv(src, rir[:, 0])\n",
    "data = data_clean[:len(src)]\n",
    "data = awgn(data, SNR)\n",
    "# print(rir.shape)\n",
    "# print(src.shape)\n",
    "# from scipy.signal import fftconvolve\n",
    "# # convolve with the unknown filter\n",
    "# d_clean = fftconvolve(src, rir[:, 0])[:len(data)]\n",
    "# # add some noise to the reference signal\n",
    "# data = d_clean + np.random.randn(len(data)) * 10**(-SNR / 20.)\n",
    "\n",
    "# print(src.shape)\n",
    "# print(data.shape)\n",
    "\n",
    "# array_data = audioread(\"/home/wangwei/work/DistantSpeech/example/mix.wav\")\n",
    "# src = array_data[:, 0]\n",
    "# data = array_data[:, 1]\n",
    "\n",
    "w = np.zeros((filter_len, 1))\n",
    "\n",
    "lms = BaseFilter(filter_len=filter_len, mu=0.001, normalization=False)\n",
    "nlms = BaseFilter(filter_len=filter_len, mu=0.1)\n",
    "flms = FastFreqLms(filter_len=filter_len, mu=0.1)\n",
    "rls = Rls(filter_len=filter_len)\n",
    "\n",
    "valid_len = len(src)-flms.filter_len  # discard last frame\n",
    "\n",
    "est_err_lms = np.zeros(valid_len)\n",
    "est_err_nlms = np.zeros(valid_len)\n",
    "est_err_flms = np.zeros(valid_len)\n",
    "est_err_rls = np.zeros(valid_len)\n",
    "\n",
    "output = np.zeros(data.shape)\n",
    "\n",
    "for n in tqdm(range((valid_len))):\n",
    "    if np.mod(n, flms.filter_len) == 0:\n",
    "        input_vector = src[n: n +  flms.filter_len]\n",
    "        d_vector = data[n : n + flms.filter_len]\n",
    "        err, w_flms = flms.update(input_vector, d_vector)\n",
    "\n",
    "        output[n : n + flms.filter_len] = err[:, 0]\n",
    "    _, w_lms = lms.update(src[n], data[n])\n",
    "    _, w_nlms = nlms.update(src[n], data[n])\n",
    "    _, w_rls = rls.update(src[n], data[n])\n",
    "    est_err_lms[n] = np.sum(np.abs(rir - w_lms[:len(rir)])**2)\n",
    "    est_err_nlms[n] = np.sum(np.abs(rir - w_nlms[:len(rir)])**2)\n",
    "    est_err_flms[n] = np.sum(np.abs(rir - w_flms[:len(rir)])**2)\n",
    "    est_err_rls[n] = np.sum(np.abs(rir - w_rls[:len(rir)])**2)\n",
    "\n",
    "plt.figure(figsize=(14,8))\n",
    "plt.plot(10 * np.log(est_err_lms / np.sum(np.abs(rir[:, 0])**2) + 1e-6))\n",
    "plt.plot(10 * np.log(est_err_nlms / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.plot(10 * np.log(est_err_flms / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.plot(10 * np.log(est_err_rls / np.sum(np.abs(rir[:, 0])**2)) + 1e-6)\n",
    "plt.legend(['lms', 'nlms', 'flms', 'rls'], loc='upper right')\n",
    "plt.xlabel(\"steps\")\n",
    "plt.ylabel(\"$\\||\\hat{w}-w\\||_2$\")\n",
    "plt.title('weight estimation error vs step')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD4CAYAAAD//dEpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAdXklEQVR4nO3de3hV5Zn38e+dhARDOBMEJQgoiPFEMSJWa1XQorVip9bC2IpWy9XX2tZWrTpMGYfOtLS+HWtfbZVWi9qOx9qKLbwIqLX1gAQ5B4GAIgQIIYRwTMjhnj/2wtnGHbJgr+wk29/nunJlrWc9ez33Xiz2L+uUmLsjIiLSkoy2LkBERDoGBYaIiISiwBARkVAUGCIiEooCQ0REQslq6wKa06dPHx80aFBblyEi0qEsXrx4h7vnt8a6221gDBo0iOLi4rYuQ0SkQzGzja21bp2SEhGRUBQYIiISSiSBYWbjzGyNmZWa2V0Jlg80s1fMbImZLTezy6MYV0REUifpwDCzTOBB4DKgEJhoZoVNuv0r8Iy7fwqYAPwq2XFFRCS1ojjCGAWUuvsGdz8IPAWMb9LHgW7BdHdgSwTjiohICkURGMcDm+LmNwdt8e4Bvmpmm4HZwLcTrcjMJptZsZkVV1RURFCaiIhEJVUXvScCM919AHA58ISZfWxsd5/h7kXuXpSf3yq3EYuIyFGKIjDKgIK4+QFBW7wbgWcA3P1NoDPQJ4KxE9pafYCX3y1vrdWLiHwiRREYi4ChZjbYzLKJXdSe1aTPB8AYADM7hVhgtNo5py/8v9f5+kw99CciEqWkA8Pd64FbgLnAamJ3Q60ys2lmdmXQ7TbgG2a2DHgSuN5b8S837dhb21qrFhH5xIrkV4O4+2xiF7Pj26bGTZcA50UxloiItA096S0iIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhBJJYJjZODNbY2alZnZXM32uMbMSM1tlZv8dxbgiIpI6WcmuwMwygQeBS4DNwCIzm+XuJXF9hgJ3A+e5e5WZ9U12XBERSa0ojjBGAaXuvsHdDwJPAeOb9PkG8KC7VwG4+/YIxhURkRSKIjCOBzbFzW8O2uINA4aZ2etm9paZjUu0IjObbGbFZlZcUVERQWkiIhKVVF30zgKGAhcCE4HfmFmPpp3cfYa7F7l7UX5+fopKExGRMKIIjDKgIG5+QNAWbzMwy93r3P09YC2xABERkQ4iisBYBAw1s8Fmlg1MAGY16fNnYkcXmFkfYqeoNkQwtoiIpEjSgeHu9cAtwFxgNfCMu68ys2lmdmXQbS5QaWYlwCvAHe5emezYIiKSOknfVgvg7rOB2U3apsZNO/D94EtERDogPektIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAiCQwzG2dma8ys1MzuOky/L5mZm1lRFOOKiEjqJB0YZpYJPAhcBhQCE82sMEG/rsB3gYXJjikiIqkXxRHGKKDU3Te4+0HgKWB8gn4/An4K1EQwpoiIpFgUgXE8sClufnPQ9iEzGwkUuPtfD7ciM5tsZsVmVlxRURFBaSIiEpVWv+htZhnAfwG3tdTX3We4e5G7F+Xn57d2aSIicgSiCIwyoCBufkDQdkhX4DTgVTN7HxgNzNKFbxGRjiWKwFgEDDWzwWaWDUwAZh1a6O7V7t7H3Qe5+yDgLeBKdy+OYOzDqqlraO0hREQ+MZIODHevB24B5gKrgWfcfZWZTTOzK5NdfzKm/aWkLYcXEUkrWVGsxN1nA7ObtE1tpu+FUYwZRn1DY6qGEhFJe3rSW0REQknrwHBv6wpERNJHWgeGiIhER4EhIiKhKDBERCSUtA4MXcIQEYlOWgdGQ6MiQ0QkKmkdGH9aUtZyJxERCSWtA0NERKKjwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEkokgWFm48xsjZmVmtldCZZ/38xKzGy5mS0wsxOiGFdERFIn6cAws0zgQeAyoBCYaGaFTbotAYrc/QzgOeBnyY4rIiKpFcURxiig1N03uPtB4ClgfHwHd3/F3fcHs28BAyIYV0REUiiKwDge2BQ3vzloa86NwJxEC8xsspkVm1lxRUVFBKWJiEhUUnrR28y+ChQB9yZa7u4z3L3I3Yvy8/NTWZqIiLQgK4J1lAEFcfMDgraPMLOxwBTgs+5eG8G4IiKSQlEcYSwChprZYDPLBiYAs+I7mNmngIeBK919ewRjiohIiiUdGO5eD9wCzAVWA8+4+yozm2ZmVwbd7gXygGfNbKmZzWpmdSIi0k5FcUoKd58NzG7SNjVuemwU44iISNvRk94iIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEknaB4e5tXYKISFpKu8AQEZHWkfaBUVPX0NYliIikhbQPjPUVe9u6BBGRtJD2gXHHs8vbugQRkbSQdoHR9Jp3ydbdbVOIiEiaSbvAEBGR1qHAEBGRUD4RgXHPrFVtXYKISIf3iQiMmW+839YliLRob209X3tkIZur9rd1KSIJpV1gNPec997a+pZf687B+sZoCwpsq67h1TXh/py5u/PHxZuprW/dZ0hq6xtYumnXUb/e3fnJ7NW8v2MftfUNlO+uwd3ZtPPIPvDWlu/52BP6a8v3sK/Jv9mRrrejmbNiK39ft4NfzF8HQPWBumb3x4ZGT8lvNWhsdKa9WMLGyn2tPlYyKvfWsq265sP5mrqGj+0/TbmnZhs2HbOx8fBjbt9d02qfQ8mK5E+0dgSn/dtcHv/6KCr21HLbs8v4zXVFXFJ4LH9ZvoWNlfuZOGog80q2cecfV3DT+YMZ1q8rW3fVsG13DZ8d1oed++p4bvEmPjusLxPPKWDaiyWs2rKbH3/xdJZsquLi4X0Z94u/c/+EEZx3Uh+6de7Ec4s3M/ON95h76wV84YF/ULGnlme/eS7V++u46fFi7r36DO54Lnbb7xkDuvP9S4Zx/e8WMbxfV97dtofbnl3G5AuG8P1LhjFn5Vbe27Gf6z89iJ65nQAo3ljF6q27WbhhJ/dPGMHVD73JOUN68fw7Zcy99QJ6dclmxmvrGd6vG33ycvj7ugpeXL6FX197FgW9crnqwTdYvXU3+V1zmHTuCdTUNfLV0Sfw0N/W884HVfTqks2QPnks/qCKmdefTV7nLJ56+wNGDe6NWSyEH35tAw+/tiHhNp84qoAfXlFI4dS5fGfMUCZfMASI/YcYkp9HQ6Nz4r/E/rLvqEG9uHXsUE4f0J3ZK7Zy5x9XAHDH507mlP5dWbhhJw+/toHsrAxWTxvHjr21bKjYR/WBOpZu2sVDf1tPz9xOPPy1Igb1yeW6R97mzsuGc1J+HgCrtlTzkznv8utrz6LwuG6sK9/DmxsqycwwhvfrRlaGMfWFlfzwikLKdh2gat9BenbJ5rtPLWXM8L48cv3ZVO07SEaGMb+knNueXcZ9XzmT7z29DIBBvXN54J9HsnxzNYP7dGH+6nImjiogNzuLzAzjnB8v+Mi2ef7mT1Navpe8zllcdHJfjsnOpCb4kHjngyrun7+O++avBeC1Oy5iTfkexp7SF4DJTyxmXkk5AD1yOzHl8lM4pX831m3fw/eeXsZrd1zEwN65NDY6C9/bSU6nDKbPfpevnF3AK2u2c9HJffnb2grOLOhBYf9ujB7Si+lz3uX19Tv43thhPPBKKVOvKGReSTlZmRk8+vp7PPr6e/zmuiIG9c6lX/fO5GZnsaemjq8+spCVZbE7ES87rR/jRxxH1f467n5+BXNvvYDeedks37yL2rpGPn1Sn+BDGrbtrqFky266HdOJbbtruH/+Wt7+l7FkZBgAGyv3YRidsozbn11G366d+dOSMk49rhsTRg1k5MAenNQ3j0mPvk1dg7N4YxUA3774JK495wRG/yS2vZ/8xmiq9h8kNzuT63+3iN5dsvnDN87hueLNVOyt5YWlW8jMMG4dM5QrzjyOZ4o38bXRJ1C59yBLN1XR0Ohcd+4gKvcdpE9eNmW7DvDm+kq+XFTA4o07qW9w9tc1kJ+Xw93Pr2BFWTUA0//pdK4pKmDjzv0s+aCKOSu3kd81h3+s28EHwQ8+f//BRVTsraW+wdm57yDnDunNzv0Huej/vspVI47jFxM+dcSfc63N2uvvXioqKvLi4uIjfl38h5CISEf1/vTPH9XrzGyxuxdFXA4Q0SkpMxtnZmvMrNTM7kqwPMfMng6WLzSzQVGMm0iYU08iInLkkg4MM8sEHgQuAwqBiWZW2KTbjUCVu58E3Af8NNlxm1Or3x0lItIqojjCGAWUuvsGdz8IPAWMb9JnPPBYMP0cMMbMLIKxP6511ioi8okXRWAcD2yKm98ctCXs4+71QDXQu+mKzGyymRWbWXFFRcVRFWNKDBGRVtGubqt19xnuXuTuRfn5+W1djoiIxIkiMMqAgrj5AUFbwj5mlgV0ByojGFtERFIkisBYBAw1s8Fmlg1MAGY16TMLmBRMXw287K10P28rXRkREfnES/rBPXevN7NbgLlAJvCou68ys2lAsbvPAh4BnjCzUmAnsVBpFWHyYsU9l7Jww05ueryYmTeczYUn9+WN9TtoaHR+MvtdNlXt59++cCobKvbSv3tnjutxDDc+Vsw/jTye598po2/XHO4cN5yT+3Wl+kAd26pryMww9h2s55qiAtZs28NfV2zl16+uZ8OPL+f7zyzl3W17mHXL+VTsrWXKn1bw6prYNZr//OJpTDx7IE7sadXa+kYWvb+TjZX7aXTn9dIdTP3CqeRmZ/L+jn2cWdADd5izcitry/fw5Nuxy0fLpl7KmdNe+vA9Du2bx3Pf/DQPvlrK2+/t5IdXnEJh/+5kZMCvXlnP/QvWkZ2ZwXkn9aZ8dy2zv/sZ3J36RseAbz+5hG9ddBKnHd+d10t3kJ2VwZcfevPD9WdnZnCwoZHPn96fsYV9GdS7C4ve38k5g3vzj9Id/HlJGeu27+XacwZy0cl92XewnvoG580NlVw8vC998nKorW9gX20DA3vl8sRb73/4Xg6ZcvkpDOvXlTdKd/DwaxuYecPZnDO4N7c+vYRGh5svPJGVZdVMHDWQKx94nZsvOpFb/nsJQ/vm8fkz+vOL+ev42x0XUt/ojPn53/jCmcdx79VnADB9zrvcdukwsjIy+MPCjYw8oSfzSsrJy8ni3rlrEu43P//ymdz27DKuPPM4Rg7swT0vlnDGgO7cc+Wp7D5Qx7kn9qZ0+16276ll5MCeLPmgik1VB5i1tIyaukZuufgkcrMz6ZmbzWnHd2d+STk3Pf6/zxq9eMv59MjtREGvXGrrG8jJyqSmroFbn1rKNy88kTMHdKds1wH+uLiM++av5Xc3nE3Jlt3cO3cNv72uiJ/NfZfeXXL46ZfO4C8rttAnL4cfBA+GLrjts1TuPcg1D8f+DX917UhOP747Bb1yAVi6aRevl+6gtq6BX75cCsCiKWPZFPyakvLqGmav3MaPv3gaXTt3YnPVfibMeIsde2tZcc/nyMowGh1eXbOdGx8r5ksjBzBt/Kl0yYl9xLyxfgfTXizhP646jUF9ulC59yDDjo09VDmvpJx/lO7ghvMGs+SDKhZvjG23f7/yVAb0PIbqA3UU/cd8srNiP98eegr6z986j8q9tbyxvpLn39lMz9xsLhrelyvPPI7X1+9gzoptrCirJjc7kye/MZoJM95i3Gn9uO8rI/i3F1ay60AdLyzdAsCbd1/Mk29v4pcLYk/Zz/7OZzipb96HY7o780rKOWdwb3I6ZfDj2au5c9xwqg/U8enpL39YT5fsTIbk5zHyR/OoPlDHq7dfyEsl27i0sB8vlWyjR242P3huOWbwq38eSU19A8d260zP3Gxq6xtZ+kEVpw/ozlkn9DrsZ1hbSbsH93buO8jIH837WPuY4X35zpihnFnQI6m65pWUM6KgB/ldc5Jaz/Y9NeTn5RDlzWKnTv3/3HDeYG7/3Mkt9q1raMSArMzwB5lzVmzlwuCp5Nayr7aenKwMHOh0BLUdUlPXQFaGHdH7Opwf/nklT7y1kZvOH8y/XtH0bvFobNq5nzfXV3LN2QUtd06Cu/OrV9fz5aIB9O3aOWGfhkbn/vlr+XJRwYdh0t5UH6jD3emRm91i3y27DtAnL+fDD/6m9tTU0ejQ/ZjYb0/YV1v/Ych1VK354N4nJjCO9qlJkcUbqzhjQPejCjCRVGvNwOjYUZqALmFI1M46oWdblyDSLqTdj0yJzvBcWnhs6gsREUkz6RcYCY4xZlzXKkdnIiKfKGkXGCIi0jrSPjCemjy6rUsQEUkL6RcYTc5IZehJPhGRSKRdYDTNh27HpN2NYCIibSL9AqPJ/PB+3dqkDhGRdJN2gZGZoVNQIiKtIe0CIzdbp6BERFpD2gWGiIi0DgWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSQVGGbWy8zmmdm64PvH/jSZmY0wszfNbJWZLTezryQzpoiItI1kjzDuAha4+1BgQTDf1H7gOnc/FRgH/MLMeiQ5roiIpFiygTEeeCyYfgy4qmkHd1/r7uuC6S3AdiA/yXFFRCTFkg2MY919azC9DTjsH882s1FANrA+yXFFRCTFWvxNfWY2H+iXYNGU+Bl3dzPzw6ynP/AEMMndG5vpMxmYDDBw4MCWShMRkRRqMTDcfWxzy8ys3Mz6u/vWIBC2N9OvG/BXYIq7v3WYsWYAMwCKioqaDR8REUm9ZE9JzQImBdOTgBeadjCzbOBPwOPu/lyS44mISBtJNjCmA5eY2TpgbDCPmRWZ2W+DPtcAFwDXm9nS4GtEkuOKiEiKJfXXhty9EhiToL0YuCmY/j3w+2TGERGRtqcnvUVEJBQFhoiIhKLAEBGRUBQYIiISigJDRERCSevAuLTwsL+pREREjkBaB4ZZW1cgIpI+0jswUGKIiEQlrQNDRESik9aBceHJ+rMbIiJRSevA+NJZA9q6BBGRtJHWgaErGCIi0UnrwBARkegoMEREJJS0DgzTgxgiIpFJ68AQEZHoKDBERCSUtA4MnZASEYlOWgeGiIhER4EhIiKhJBUYZtbLzOaZ2brge8/D9O1mZpvN7IFkxhQRkbaR7BHGXcACdx8KLAjmm/Mj4LUkxzsiuqtWRCQ6yQbGeOCxYPox4KpEnczsLOBY4KUkxxMRkTaSbGAc6+5bg+ltxELhI8wsA/g5cHtLKzOzyWZWbGbFFRUVSZYmIiJRymqpg5nNB/olWDQlfsbd3cw8Qb+bgdnuvrmlJ6/dfQYwA6CoqCjRuo6InvQWEYlOi4Hh7mObW2Zm5WbW3923mll/YHuCbucCnzGzm4E8INvM9rr74a53iIhIO9NiYLRgFjAJmB58f6FpB3e/9tC0mV0PFCksREQ6nmSvYUwHLjGzdcDYYB4zKzKz3yZbnIiItB9JHWG4eyUwJkF7MXBTgvaZwMxkxhQRkbahJ71FRCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVCSCgwz62Vm88xsXfC9ZzP9BprZS2a22sxKzGxQMuOKiEjqJXuEcRewwN2HAguC+UQeB+5191OAUcD2JMcVEZEUSzYwxgOPBdOPAVc17WBmhUCWu88DcPe97r4/yXFFRCTFkg2MY919azC9DTg2QZ9hwC4ze97MlpjZvWaWmeS4IiKSYlktdTCz+UC/BIumxM+4u5uZNzPGZ4BPAR8ATwPXA48kGGsyMBlg4MCBLZUmIiIp1GJguPvY5paZWbmZ9Xf3rWbWn8TXJjYDS919Q/CaPwOjSRAY7j4DmAFQVFSUKHxCeWryaMqqDhzty0VEJIEWA6MFs4BJwPTg+wsJ+iwCephZvrtXABcDxUmOe1ijh/RuzdWLiHwiJXsNYzpwiZmtA8YG85hZkZn9FsDdG4DbgQVmtgIw4DdJjisiIimW1BGGu1cCYxK0FwM3xc3PA85IZiwREWlbetJbRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhGLuR/1AdasyswpgYxKr6APsiKicVFHNqdERa4aOWbdqTo34mk9w9/zWGKTdBkayzKzY3Yvauo4joZpToyPWDB2zbtWcGqmqWaekREQkFAWGiIiEks6BMaOtCzgKqjk1OmLN0DHrVs2pkZKa0/YahoiIRCudjzBERCRCCgwREQkl7QLDzMaZ2RozKzWzu9qohvfNbIWZLTWz4qCtl5nNM7N1wfeeQbuZ2S+Depeb2ci49UwK+q8zs0lx7WcF6y8NXmtHUeOjZrbdzFbGtbV6jc2NkWTd95hZWbC9l5rZ5XHL7g5qWGNmn4trT7ifmNlgM1sYtD9tZtlBe04wXxosHxSy3gIze8XMSsxslZl9tyNs68PU3Z63dWcze9vMlgU1//vRjhPVe0mi5plm9l7cdh4RtLft/uHuafMFZALrgSFANrAMKGyDOt4H+jRp+xlwVzB9F/DTYPpyYA6xPyw1GlgYtPcCNgTfewbTPYNlbwd9LXjtZUdR4wXASGBlKmtsbowk674HuD1B38JgH8gBBgf7Rubh9hPgGWBCMP0Q8H+C6ZuBh4LpCcDTIevtD4wMprsCa4O62vW2Pkzd7XlbG5AXTHcCFgbb5YjGifK9JFHzTODqBP3bdP9I6Qdpa38B5wJz4+bvBu5ugzre5+OBsQboH0z3B9YE0w8DE5v2AyYCD8e1Pxy09QfejWv/SL8jrHMQH/3gbfUamxsjybrvIfGH2Ef+/YG5wT6ScD8J/kPtALKa7k+HXhtMZwX97ChqfwG4pKNs6wR1d4htDeQC7wDnHOk4Ub6XJGqeSeLAaNP9I91OSR0PbIqb3xy0pZoDL5nZYjObHLQd6+5bg+ltwLHBdHM1H659c4L2KKSixubGSNYtwSH6o3GH1kdad29gl7vXJ6j7w9cEy6uD/qEFpzw+ReynyA6zrZvUDe14W5tZppktBbYD84gdERzpOFG+lyOu2d0Pbef/DLbzfWaW07TmkLVFun+kW2C0F+e7+0jgMuBbZnZB/EKPRXq7vp85FTVGOMavgROBEcBW4OcRrDNSZpYH/BG41d13xy9rz9s6Qd3telu7e4O7jwAGAKOA4W1bUcua1mxmpxE7chkOnE3sNNOdrVxDqP0j3QKjDCiImx8QtKWUu5cF37cDfyK245abWX+A4Pv2oHtzNR+ufUCC9iikosbmxjhq7l4e/KdrBH5DbHsfTd2VQA8zy2rS/pF1Bcu7B/1bZGadiH3o/sHdnw+a2/22TlR3e9/Wh7j7LuAVYqeHjnScKN/L0dQ8zt23ekwt8DuOfjtHun+kW2AsAoYGdyxkE7uQNSuVBZhZFzPremgauBRYGdQxKeg2idg5YYL264K7H0YD1cFh4lzgUjPrGRz2X0rsvOhWYLeZjQ7udrgubl3JSkWNzY1x1A7t9IEvEtveh8aaENwNMxgYSuwCYML9JPgp6xXg6ma2waG6rwZeDvq3VJsBjwCr3f2/4ha1623dXN3tfFvnm1mPYPoYYtdcVh/FOFG+l6Op+d24D3IDruKj27nt9o8jvTDT3r+I3UWwlti5yyltMP4QYndPLANWHaqB2HnOBcA6YD7QK2g34MGg3hVAUdy6vg6UBl83xLUXBTvQeuABju7i65PETinUETuveWMqamxujCTrfiKoa3nwn6B/XP8pQQ1riLubrLn9JPj3ezt4P88COUF752C+NFg+JGS95xM71F8OLA2+Lm/v2/owdbfnbX0GsCSobSUw9WjHieq9JFHzy8F2Xgn8nv+9k6pN9w/9ahAREQkl3U5JiYhIK1FgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVD+B1ndZDrwIJNoAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(output)\n",
    "plt.show()\n",
    "# audiowrite('flms1.wav', output)"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "532cddd74b9fabc13f740f51c7600370dbbc74aaf96e64501f4b1ae280f38de4"
  },
  "kernelspec": {
   "display_name": "Python 3.8.8 ('.venv': venv)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
